Package de.yaams.extensions.rgssproject.map.nevent.command

Source Code of de.yaams.extensions.rgssproject.map.nevent.command.MoveCommand

/**
*
*/
package de.yaams.extensions.rgssproject.map.nevent.command;

import org.jruby.RubyHash;
import org.jruby.RubyObject;

import de.yaams.extensions.jruby.RubyHelper;
import de.yaams.extensions.rgssproject.database.SystemGObject;
import de.yaams.extensions.rgssproject.database.form.RubyForm;
import de.yaams.extensions.rgssproject.map.nevent.core.EventCode;
import de.yaams.extensions.rgssproject.map.nevent.core.EventCommand;
import de.yaams.maker.helper.JavaHelper;
import de.yaams.maker.helper.gui.form.FormComboBox;
import de.yaams.maker.helper.gui.form.FormHelper;
import de.yaams.maker.helper.gui.form.FormInfo;
import de.yaams.maker.helper.gui.form.core.FormBuilder;
import de.yaams.maker.helper.gui.form.core.FormHeader;
import de.yaams.maker.helper.language.I18N;

/**
* @author abt
*
*/
public class MoveCommand extends EventCommand {

  /**
   * Create a new MoveCommand
   */
  public MoveCommand() {
    installMultipleIDSupport(new String[] { "Move ", "Wait for Moving" }, JavaHelper.numAry(209, 210));
    beta = true;
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * de.yaams.extensions.map.nevent.core.EventCommand#getTitle(de.yaams.extensions
   * .map.nevent.core.EventCode)
   */
  @Override
  protected String getInternTitle(EventCode e) {
    if (e.getId() == 210) {
      return titles[1];
    }

    addInt(e, 0, -1);

    String s = e.getParameters().get(0).toString();
    // player?
    if (RubyHelper.toInt(e.getParameters().get(0)) == -1) {
      s = "Player";
      // has a map?
    } else {
      RubyObject map = e.getYecl().getMap();
      if (map != null) {
        // get all events
        RubyHash ra = (RubyHash) map.getInstanceVariable("@events");

        s = new SystemGObject((RubyObject) ra.get(e.getParameters().get(0))).getName();
      }
    }

    return I18N.t("Move {0}", s);
  }

  /*
   * (non-Javadoc)
   *
   * @see de.yaams.extensions.map.nevent.core.EventCommand#getIcon()
   */
  @Override
  public String getIcon() {
    return "move";
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * de.yaams.extensions.map.nevent.core.EventCommand#getIcon(de.yaams.extensions
   * .map.nevent.core.EventCode)
   */
  @Override
  public Object getIcon(EventCode e) {
    if (e.getId() == 210) {
      return getIcon() + "_wait";
    }
    return getIcon();
  }

  /*
   * (non-Javadoc)
   *
   * @see de.yaams.extensions.map.nevent.core.EventCommand#getStartParameter()
   */
  @Override
  public String getStartParameter() {
    return "-1,RPG::MoveRoute.new";
  }

  /*
   * (non-Javadoc)
   *
   * @see de.yaams.extensions.map.nevent.core.EventCommand#getName()
   */
  @Override
  public String getName() {
    return I18N.t("Move Event");
  }

  /*
   * (non-Javadoc)
   *
   * @see de.yaams.extensions.map.nevent.core.EventCommand#getGroup()
   */
  @Override
  public String getGroup() {
    return I18N.t("Event");
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * de.yaams.extensions.map.nevent.core.EventCommand#buildPanel(de.yaams.
   * core.helper.gui.form.core.FormBuilder,
   * de.yaams.extensions.map.nevent.core.EventCode)
   */
  @Override
  public void buildPanel(FormBuilder f, EventCode e) {

    addInt(e, 0, -1);

    FormComboBox c = addIDSwichter(f, e);

    // add basic
    f.addHeader("move", new FormHeader(titles[0], "move"));
    f.addElement("move.player",
        FormHelper.setEnabeldWhenRightElementSelect(c, RubyForm.getEventSelector("Player", e.getYecl().getMap(), e.getParameters(), 0), "209"));

    // f.addElement("basic.repeat",
    // RubyForm.getBoolean(I18N.t("Repeat Move"), e.getParameters().get(1),
    // "@repeat"));
    // f.addElement("basic.moves",
    // RubyForm.getBoolean(I18N.t("Ignore impossible moves"),
    // e.getParameters().get(1), "@skippable")
    // .setSorting(1));

    // unsupported
    f.addHeader("unsupported", new FormHeader(I18N.t("Nicht unterstützt"), "error").setCollapsed(true));
    f.addElement("unsupported.ele", new FormInfo("", I18N.t("Movement route")));
  }
}
TOP

Related Classes of de.yaams.extensions.rgssproject.map.nevent.command.MoveCommand

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.